Skip to content

Conversation

@devin-ai-integration
Copy link
Contributor

@devin-ai-integration devin-ai-integration bot commented Feb 27, 2025

This PR fixes compiling issues with FATFS, a couple of bugs with it and adds an example of how to compile wolfSSH with a wolfSFTP client using FATFS in Linux.

Devin added to this PR to add a GitHub Action workflow to test FATFS support for the wolfsftp client. It is related to PR #786 which fixes compiling issues with FATFS, a couple of bugs with it, and adds an example of how to compile wolfSSH with a wolfSFTP client using FATFS in Linux.

The GitHub Action workflow:

  • Compiles everything required
  • Creates a FATFS image file
  • Creates a test file
  • Uses the wolfsftp client to get the test file
  • Verifies the file exists in the FATFS image and that its contents match the original file

Link to Devin run: https://app.devin.ai/sessions/b8ce6600638040d996121c54a3a3e139
Requested by: [email protected]

FATFS compiling is currently broken due to several reasons. This fixes:

* Bad parameter count for `WRENAME`
* Missing `WFFLUSH` define
* `WOLFSSH_STOREHANDLE` required for `WOLFSSH_FATFS` to work
* Conflict when `NO_FILESYSTEM` is defined for wolfSSL and
  `WOLFSSH_FATFS` is defined by wolfSSH
* Function called that can't be used with `WOLFSSH_FATFS`
* Functions defined but not used with `WOLFSSH_FATFS`
* Function parameters defined but not used
This allows a file on the Linux filesystem to be used as a FATFS file.

It also fixes a bug in `port.h` when opening file on a FATFS filesystem.
@devin-ai-integration
Copy link
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add "(aside)" to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@wolfSSL-Bot
Copy link

Can one of the admins verify this patch?

This adds a GitHub Action workflow to test the FATFS support for the wolfsftp client.
The workflow:
- Installs dependencies
- Clones and builds wolfSSL with appropriate flags
- Compiles the FATFS library
- Configures and builds wolfSSH with FATFS support
- Creates a test file
- Sets up an SSH server
- Uses the wolfsftp client to transfer a test file
- Verifies the file in the FATFS image

Co-Authored-By: [email protected] <[email protected]>

Co-Authored-By: [email protected] <[email protected]>
@devin-ai-integration devin-ai-integration bot force-pushed the devin/1740666408-add-fatfs-test-action branch from 13d866a to da01cea Compare February 27, 2025 15:40
@LinuxJedi LinuxJedi changed the title Add GitHub Action to test FATFS support for PR #786 FATFS improvements, test and Linux example Feb 27, 2025
@LinuxJedi LinuxJedi requested a review from dgarske February 28, 2025 06:45
@LinuxJedi
Copy link
Member

(aside) @dgarske the Devin session appears to have broken down to the point where it can no long push to this PR. I can make any additional required changes.

@LinuxJedi LinuxJedi force-pushed the devin/1740666408-add-fatfs-test-action branch from 1b9f3c7 to dfc0f72 Compare March 6, 2025 11:15
@LinuxJedi LinuxJedi assigned wolfSSL-Bot and unassigned LinuxJedi Mar 6, 2025
JacobBarthelmeh
JacobBarthelmeh previously approved these changes Mar 6, 2025
@JacobBarthelmeh
Copy link
Contributor

(aside) Ok to test, Jenkins

@dgarske dgarske assigned LinuxJedi and unassigned dgarske Mar 6, 2025
@LinuxJedi LinuxJedi requested a review from dgarske March 7, 2025 07:10
@LinuxJedi LinuxJedi removed their assignment Mar 7, 2025
@dgarske dgarske merged commit cea99e5 into master Mar 7, 2025
86 checks passed
@ejohnstown ejohnstown deleted the devin/1740666408-add-fatfs-test-action branch June 12, 2025 18:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants